\documentclass[10pt,a4paper]{article} 

\usepackage{ctex} % 中文支持
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry} % 页边距
\usepackage{amsmath, amssymb} % 数学公式与符号
\usepackage{graphicx, verbatim}
%\usepackage{pythonhighlight}
\usepackage{url,enumitem} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 插入代码
\usepackage{listings}
\usepackage{color}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{setspace}
\onehalfspacing
%\setlength{\parskip}{1em}  % 增加段落之间的间距为1em
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{titling}
\setlength{\droptitle}{-2cm} % 标题上移

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%文档的题目、作者与日期
\author{通义千问、五六七}
\title{数量金融实验 - 专题14 \\ 基于订单簿的交易策略回测}
%\date{2025年10月14日}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\maketitle

\abstract{在高频交易和算法交易中，基于订单簿的交易策略回测（Order Book-Based Strategy Backtesting）是一种利用市场微观结构数据——即限价订单簿（Limit Order Book, LOB）——对交易策略进行历史模拟与性能评估的方法。与仅使用K线（OHLC）数据的回测不同，订单簿回测能更真实地反映策略在实际市场中的执行情况，尤其适用于高频、做市、套利等对订单流敏感的策略。
}

\tableofcontents

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\setlength{\parskip}{1em}  % 增加段落之间的间距为1em

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{什么是订单簿？}

限价订单簿是交易所维护的、按价格优先和时间优先原则排序的买卖订单集合。它包含：
\begin{itemize}
    \item \textbf{买盘}（Bid）：不同价格档位的买入挂单（价格、数量）。
    \item \textbf{卖盘}（Ask）：不同价格档位的卖出挂单（价格、数量）。
    \item 最优买卖价（Best Bid/Ask）构成买卖价差（Bid-Ask Spread）。
\end{itemize}

订单簿动态反映了市场的供需关系和流动性。

\section{基于订单簿的回测 vs 传统K线回测}

\begin{table}[ht]
\centering
\caption{两种回测方式对比}
\begin{tabular}{|l|l|l|}
\hline
\textbf{特征} & \textbf{传统K线回测} & \textbf{基于订单簿回测} \\
\hline
数据粒度 & 粗（分钟/小时K线） & 细（毫秒级订单流） \\
\hline
价格发现 & 假设能以OHLC价格成交 & 模拟真实订单匹配过程 \\
\hline
滑点处理 & 事后加固定/比例滑点 & 内生模拟（根据订单簿深度） \\
\hline
策略适用性 & 中低频趋势、均值回归 & 高频、做市、套利、冰山订单 \\
\hline
真实性 & 较低（易产生“幻觉收益”） & 较高（更贴近实盘） \\
\hline
计算成本 & 低 & 高（需处理大量事件） \\
\hline
\end{tabular}
\end{table}

\section{回测流程}

基于订单簿的回测通常包括以下步骤：

\begin{enumerate}[label=\arabic*.]
    \item \textbf{数据准备}：获取高精度的订单簿快照流（如L2数据）或逐笔交易（Tick）数据，包含时间戳、买卖盘深度、订单变化等。
    
    \item \textbf{事件驱动引擎}：构建事件循环，按时间顺序处理订单簿更新事件（如新订单、订单撤销、交易成交）。
    
    \item \textbf{策略逻辑}：策略根据当前订单簿状态（如价差、深度不平衡、订单流冲击）生成交易信号，并提交限价单或市价单。
    
    \item \textbf{订单执行模拟}：
    \begin{itemize}
        \item 若提交\textbf{市价单}，按最优对手价及后续档位逐级成交，直至全部执行或订单簿耗尽。
        \item 若提交\textbf{限价单}，加入订单簿等待匹配，后续若有对手方市价单可匹配，则成交。
    \end{itemize}
    
    \item \textbf{状态更新}：更新账户持仓、资金、未成交订单等。
    
    \item \textbf{性能评估}：计算PnL、夏普比率、最大回撤、成交率、滑点成本等指标。
\end{enumerate}

\section{优势与挑战}

\subsection{优势}
\begin{itemize}
    \item 更真实地模拟交易执行，避免过度拟合。
    \item 能评估策略对市场流动性的依赖和影响。
    \item 适用于复杂订单类型（如隐藏单、冰山单）。
\end{itemize}

\subsection{挑战}
\begin{itemize}
    \item 数据获取成本高，存储和处理复杂。
    \item 回测引擎开发难度大，需精确模拟交易所撮合逻辑。
    \item 计算资源消耗大，回测速度慢。
    \item 仍无法完全模拟市场反馈效应（如大单冲击）。
\end{itemize}

\section{总结}

基于订单簿的交易策略回测是量化交易中高级且必要的工具，尤其对高频策略至关重要。它通过精细化的市场微观结构模拟，显著提升了回测的真实性，帮助开发者更准确地评估策略的实盘潜力。尽管实现复杂，但其带来的洞察力远超传统回测方法。

\end{document}
